Face detection means searching any given image to determine whether or not the image contains a face by a certain method and returning the position, size and posture of the face if the result is positive. The face usually has rich biologic feature information which can be used in the fields of human-machine interaction, tracking monitoring, identity identification, or the like. The primary step to extract associated information of the face is to localize the area of the face. It causes the technique of face detection to have unusual significance and a wide application prospect. The practicability of face detection will depend on the increase of detection precision and detection speed.
FIG. 1 shows a block diagram of the functional structure of a detector in the related art. As shown in FIG. 1, the hierarchical structure of the detector in the related art includes a detector, strong classifiers, weak classifiers, feature extraction parts and function mapping parts in turn from top to bottom. That is to say the detector in the related art includes a plurality of strong classifiers which are series connected each other, each strong classifier includes a plurality of weak classifiers which are series connected each other, and each weak classifier includes a feature extraction part and a mapping part. The feature extraction parts adopt feature extraction methods such as sparse granularity features, etc. to carry out feature extraction (refer to Chinese patent application No. 200610072576.4 of the patent applicant, and merge it into the present application just as it has been described in the present application), and the mapping parts adopt methods such as piecewise linear function based on a lookup table, etc. to carry out weak classification.
The detector needs to be trained before being used. It is well known that in the field fixed offline training is carried out to the detector. For the fixed offline training algorithm, once the sample set for training (namely face pictures and background pictures) is determined, the face detector obtained by learning can not be changed greatly. Because of the limitation of the collection process of offline training samples, the sample set only can describe the distribution condition of the face mode and the non-face mode under general environmental conditions usually. However, because of different terminal users and the change of environment and objectives, the detector often encounters some special conditions. On one hand, wearing decorative articles such as sunglasses, scarves, etc. can result in partial shielding of the face, and acute change of illumination even greatly changes the apparent mode of the face. Because the face mode in special environment is unusual, it seldom exists in the face sample set for offline training. On the other hand, although we can collect the set of many background pictures and extract a large quantity of scanning windows as non-face training samples, we can not make sure that all background types are contained. In other words, there is a larger difference between general conditions described by the offline training sample set (including the face part and the non-face part) and actual conditions to be treated by online detection. The unavoidable difference makes the detector obtained by offline training can not frequently adapt to the application environment of online detection well, so a large quantity of undetection and wrong detection is generated.
In the final analysis, the inadaptability is caused by the method that the offline training samples can not reflect online conditions. In order to overcome the problem, people carry out a large quantity of research to online learning.
Online learning is a persistent learning algorithm specially designed in accordance with the collection characteristics of training data. The online learning process needs to process continuously collected data flow, which is different from the offline learning process that all training data are collected in advance. Because the total data quantity is very large, online learning can not store all the collected data. In other words, each training datum must be abandoned after been used. Online learning need not use the result obtained by offline training as basis, so it is a simple learning framework.
Up to now, most work related to online learning is based on traditional machine learning methods, such as the online learning algorithm which is proposed by P. Utgoff, etc. and based on a decision tree model, the Winnow algorithm proposed by N. Littlestone and the weighted majority algorithm adopted by N. Littlestone and M. Warmuth. In the related art, the Boosting algorithm came into the world at the beginning of 1990s last century, which only takes more than ten years until now, so the Boosting algorithm is a very young machine learning algorithm. Therefore, online learning research related to it is less. L. Breiman introduces a “block” online Boosting algorithm in his article to divide the online training sample set into a plurality of subsets in the same size, and uses the subsets for online training of each weak classifier in turn. A. Fern and R. Givan provide another online Boosting algorithm based on the Arc-4x method, and each weak classifier is relearned by increasing the weight of wrongly divided training samples. The most representative algorithm of the relevant work is the online Boosting algorithm which is proposed by N. Oza, etc. and based on the discrete AdaBoostM1 algorithm, and the flow is shown in FIG. 2.
The algorithm uses the current latest training sample to retrain each weak classifier in the strong classifiers and the corresponding combination coefficients in turn from front to back. It adopts the decision tree model as the structure of the weak classifier, and a random number k which meets the Poisson distribution is generated in accordance with the current sample weight (namely the wrongly divided degree) as times for using the current sample to retrain the weak classifier. If the training result makes the weak classifier correctly classify the current sample, the weight of the current sample is aggregated to the correct classification times λscm of the weak classifier, the error rate em of the weak classifier is adjusted, and the weight λ of the current sample is updated in accordance with the error rate; otherwise, the weight of the current sample is aggregated to the misclassification times λswm of the weak classifier, similarly, the error rate em of the weak classifier is also adjusted, and the weight λ of the current sample is updated. It is clear that the online Boosting algorithm proposed by N. Oza, etc. obeys the AdaBoost.M1 algorithm in the flow structure, and is the corresponding online training version of the AdaBoost.M1 algorithm.
On the basis of the online Boosting algorithm proposed by N. Oza, etc., O. Javed, H. Grabner, etc. respectively presents respective online Boosting systems for solving many actual problems of computer vision. The online Boosting algorithm proposed by O. Javed, etc. is combined with the co-training framework to increase the performance of detecting systems for pedestrians and vehicles. And H. Grabner, etc. widely use the online Boosting algorithm for various problems of calculation vision, including background modeling and object detection and tracking by introducing a feature selecting system.
However, all of the online Boosting algorithms adopt the weak classifier form of two-value output and correspond to the traditional discrete AdaBoost algorithm. At present, there is not online learning Boosting algorithm against the continuous AdaBoost algorithm.
The online learning algorithm can properly adjust the current detector to make it process special conditions represented by the samples better, such as shielding and illumination change which are mentioned above.
However, under the condition of limited capability and capacity, if the detector wants to have better capability for processing specific scenes, it usually loses some capability for processing general environment. Even more, if the adjustment process of the detector excessively depends on online samples, the effect of incremental learning may be greatly reduced that not only the performance under general application conditions is obviously reduced, but also the phenomenon of excessive training may occur even in special environment. Thus, at present, a detector training method which can solve the problem of insufficient offline training samples without greatly reducing the performance of the detector is needed. In addition, a detector training algorithm against the continuous AdaBoost algorithm is also needed.